home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / mac / LOGIC Apple II 5.25" Library - DOS Part 2 / DOS027.dsk / YAHTZEE.int < prev   
Text File  |  2012-02-16  |  14KB  |  368 lines

  1. 10 DIM A$(40),NAME$(50)
  2. 20 DIM SC(85),TSC(5),T(5),D(5),D1(5),D2(5),N(5),P(5),PP(5),S(13)
  3. 30 REM  ***** INTRODUCTION *****
  4. 40 CALL -936
  5. 50 VTAB 9:A$="Y A H T Z E E":GOSUB 7030
  6. 60 VTAB 13:A$="ADAPTED FOR APPLE II BY":GOSUB 7030
  7. 70 VTAB 15:A$="GARY A. FOOTE":GOSUB 7030
  8. 80 VTAB 17:A$="4/13/78":GOSUB 7030
  9. 90 REM  FROM AN ARTICLE IN DR. DOBBS BY JIM GEROW
  10. 100 REM  RUNS IN 12K MEMORY
  11. 110 GOSUB 9030
  12. 120 VTAB 22:INPUT "DO YOU WANT INSTRUCTIONS?",A$
  13. 130 IF  LEN(A$)=0 THEN 120:IF A$(1,1)#"Y" THEN 140:GOSUB 9040:GOSUB 7110
  14. 140 CALL -936
  15. 150 REM  *** PLAYER SELECTION ***
  16. 160 A$="PLAYER SELECTION":GOSUB 7030
  17. 170 A$="(ENTER BLANK LINE WHEN DONE)":GOSUB 7030
  18. 180 PRINT :FOR X=1 TO 5
  19. 190 INPUT "ENTER NEXT PLAYER'S NAME:",A$
  20. 200 IF  LEN(A$)=0 THEN 260
  21. 210 IF  LEN(A$)<=10 THEN 220:PRINT "ONLY 10 LETTERS PLEASE":GOTO 190
  22. 220 N(X)= LEN(A$)-1:A$( LEN(A$)+1)="          "
  23. 230 P(X)=(X-1)*10+1:NAME$(P(X))=A$(1,10)
  24. 240 TSC(X)=0
  25. 250 NEXT X:N2=6
  26. 260 N2=X-1
  27. 270 CALL -936
  28. 280 IF N2=1 THEN 460
  29. 290 A$="WE WILL NOW ROLL DICE":GOSUB 7030
  30. 300 A$="TO CHOOSE PLAYER ORDER":GOSUB 7030
  31. 310 FOR X=1 TO N2
  32. 320 VTAB X+3:PRINT NAME$(P(X),P(X)+N(X));"'S TURN"
  33. 330 IF NAME$(P(X),P(X)+4)="APPLE" THEN 340:GOSUB 7120:GOTO 350
  34. 340 FOR Z=1 TO 1000:NEXT Z
  35. 350 GOSUB 6010:T(X)=TTL
  36. 360 VTAB 3+X:TAB 20:PRINT TTL:NEXT X
  37. 370 REM  *** SORT TOTALS FOR PLAYER ORDER ***
  38. 380 J=0:FOR I=1 TO N2-1
  39. 390 IF T(I)>=T(I+1) THEN 440
  40. 400 X=T(I+1):T(I+1)=T(I):T(I)=X
  41. 410 X=N(I+1):N(I+1)=N(I):N(I)=X
  42. 420 X=P(I+1):P(I+1)=P(I):P(I)=X
  43. 430 J=1
  44. 440 NEXT I:IF J#0 THEN 380
  45. 450 FOR X=1 TO 21:VTAB X:TAB 35:PRINT "     ":NEXT X
  46. 460 VTAB 12:A$="PLAYER ORDER":GOSUB 7030:PRINT 
  47. 470 FOR X=1 TO N2
  48. 480 PRINT "PLAYER ";X,NAME$(P(X),P(X)+N(X))
  49. 490 NEXT X:GOSUB 7110:CALL -936
  50. 500 REM  *** GAME LOGIC ***
  51. 510 FOR GAME=1 TO 6
  52. 520 FOR I=1 TO 17*N2:SC(I)=-1:NEXT I
  53. 530 GOSUB 8010:REM  DISPLAY SCOREBOARD
  54. 540 REM  *** ROUND LOGIC ***
  55. 550 FOR ROUND=1 TO 13
  56. 560 VTAB 24:TAB 8:PRINT "R O U N D  ";ROUND;"  G A M E  ";GAME;
  57. 570 REM  *** PLAYER LOGIC ***
  58. 580 FOR PL=1 TO N2
  59. 590 PP=(PL-1)*17:HL=20/N2*PL+9:IF N2=2 THEN HL=HL-3:IF N2=1 THEN HL=HL-8
  60. 600 COLOR= 7:PLOT HL-1,1
  61. 610 VTAB 20:TAB 1:CALL -868
  62. 620 VTAB 20: POKE 50,63:PRINT NAME$(P(PL),P(PL)+N(PL));"'S TURN";: POKE 50,255
  63. 630 IF NAME$(P(PL),P(PL)+4)#"APPLE" THEN 650:GOSUB 6010:L=0:GOSUB 3020:GOSUB 2040:GOTO 900
  64. 640 REM  *** ROLL DICE ***
  65. 650 GOSUB 7120:GOSUB 6010:J1=1:VTAB 20:TAB 21:PRINT "ROLL# ";J1
  66. 660 GOSUB 5020
  67. 670 VTAB 22:CALL -868:VTAB 23:CALL -868
  68. 680 VTAB 22:TAB 1:PRINT "ENTER: P FOR POSSIBILITIES, S FOR SCORE"
  69. 690 VTAB 23: POKE 34,22: POKE 35,22:IF J1<3 THEN 700:INPUT A$:GOTO 710
  70. 700 INPUT "R FOR ANOTHER ROLL:",A$
  71. 710  POKE 34,0: POKE 35,24:GOSUB 9020
  72. 720 J=2:FOR I=1 TO 13:IF I=7 THEN J=J+2:IF SC(PP+I)#-1 THEN 730:VTAB J:TAB HL:PRINT "  ";
  73. 730 J=J+1:NEXT I
  74. 740 IF SC(PP+14)#-1 THEN 750:VTAB 8:TAB HL:PRINT "  ";
  75. 750 IF  LEN(A$)=0 THEN 670
  76. 760 IF A$(1,1)#"P" THEN 770:GOSUB 4010:GOTO 670
  77. 770 IF A$(1,1)#"S" THEN 780:GOSUB 2010:GOTO 900
  78. 780 IF J1=3 THEN 670
  79. 790 IF A$(1,1)#"R" THEN 670
  80. 800 REM  *** RE-ROLL DICE ***
  81. 810 IF  LEN(A$)=1 THEN 820:A$=A$(2, LEN(A$)):GOTO 830
  82. 820 GOSUB 9020: POKE 35,22: POKE 34,22:VTAB 23:TAB 1:INPUT "DICE TO RE-ROLL?",A$: POKE 34,0: POKE 35,24
  83. 830 IF  LEN(A$)=0 THEN 820
  84. 840 FOR X=1 TO  LEN(A$)
  85. 850 T= ASC(A$(X,X))-176:IF T<1 OR T>5 THEN 870
  86. 860 D(T)= RND (6)+1
  87. 870 NEXT X
  88. 880 TTL=D(1)+D(2)+D(3)+D(4)+D(5):GOSUB 6030:GOSUB 5020
  89. 890 J1=J1+1:VTAB 20:TAB 21:PRINT "ROLL# ";J1:GOTO 670
  90. 900 FOR X=1 TO 21:TAB 35:VTAB X:PRINT "     ":NEXT X
  91. 910 VTAB 1:TAB HL:PRINT PL
  92. 920 NEXT PL
  93. 930 NEXT ROUND
  94. 940 REM  *** SCORE GAME ***
  95. 950 FOR X=1 TO N2:TSC(X)=TSC(X)+SC(X*17):T(X)=TSC(X):D(X)=X:NEXT X
  96. 960 CALL -936:VTAB 8:A$="GAME AND SERIES TOTALS":GOSUB 7030:PRINT 
  97. 970 REM  *** SORT SCORES ***
  98. 980 IF N2=1 THEN 1050
  99. 990 J=0:FOR I=1 TO N2-1
  100. 1000 IF T(I)>=T(I+1) THEN 1040
  101. 1010 X=T(I+1):T(I+1)=T(I):T(I)=X
  102. 1020 X=D(I+1):D(I+1)=D(I):D(I)=X
  103. 1030 J=1
  104. 1040 NEXT I:IF J#0 THEN 990
  105. 1050 FOR X=1 TO N2
  106. 1060 PRINT NAME$(P(D(X)),P(D(X))+N(D(X)));:TAB 12:PRINT SC(D(X)*17),T(X)
  107. 1070 IF SC(D(X)*17)=375 THEN PRINT "CONGRATUATIONS - A PERFECT GAME!!"
  108. 1080 NEXT X
  109. 1090 PRINT :A$="HIT SPACE BAR FOR NEXT GAME":GOSUB 7030
  110. 1100 A$="HIT RETURN TO END SERIES":GOSUB 7030
  111. 1110 IF  PEEK (-16384)<127 THEN 1110:IF  PEEK (-16384)#160 THEN 1130
  112. 1120  POKE -16368,0:NEXT GAME
  113. 1130  POKE -16368,0:PRINT :PRINT "CONGRATUATIONS, YOU WON ";NAME$(P(D(1)),P(D(1))+N(D(1)))
  114. 1140 END 
  115. 2000 REM 
  116. 2010 REM  *** SCORING ***
  117. 2020 IF  LEN(A$)=1 THEN 2030:T= ASC(A$(2,2))-176:IF  LEN(A$)=3 AND T=1 THEN T=10+( ASC(A$(3,3))-176):GOTO 2040
  118. 2030 GOSUB 9020:VTAB 22: POKE 34,22: POKE 35,22:INPUT "WHAT ROW # DO YOU WISH TO SCORE?",T: POKE 34,0: POKE 35,24
  119. 2040 IF T<1 OR T>13 THEN 2030
  120. 2050 IF SC(PP+T)#-1 THEN 2030
  121. 2060 SC(PP+T)=S(T)
  122. 2070 J=T+1:IF T>6 THEN J=J+2:JJ=J:TT=S(T)
  123. 2080 VTAB JJ:TAB HL:PRINT TT:PLOT HL-1,JJ*2-1:REM  FLASH SCORES      
  124. 2090 IF TT>9 THEN PLOT HL,JJ*2-1
  125. 2100 T=0:FOR I=1 TO 6:IF SC(PP+I)>0 THEN T=T+SC(PP+I)
  126. 2110 NEXT I:SC(PP+14)=T:REM UPPER SCORE
  127. 2120 SC(PP+15)=0:IF T<63 THEN 2130:SC(PP+15)=35:VTAB 8:TAB HL:PRINT 35;
  128. 2130 SC(PP+14)=SC(PP+14)+SC(PP+15):REM BONUS
  129. 2140 T=0:FOR I=7 TO 13:IF SC(PP+I)>0 THEN T=T+SC(PP+I):REM LOWER SCORE
  130. 2150 NEXT I:SC(PP+16)=T:SC(PP+17)=SC(PP+16)+SC(PP+14):REM TOTAL SCORE
  131. 2160 VTAB 9:TAB HL:PRINT SC(PP+14);
  132. 2170 VTAB 17:TAB HL:PRINT SC(PP+16);
  133. 2180 VTAB 18:TAB HL:PRINT SC(PP+17);
  134. 2190 GOSUB 9030:VTAB JJ:TAB HL:PRINT TT:GOSUB 9020:RETURN 
  135. 3000 REM 
  136. 3010 REM  *** APPLE ROLL AND SCORING ***
  137. 3020 L=L+1:VTAB 20:TAB 21:PRINT "ROLL# ";L;:GOSUB 5020
  138. 3030 IF S(12)=0 THEN 3040:T=12:RETURN 
  139. 3040 IF S(11)=0 THEN 3050:T=11:RETURN 
  140. 3050 IF S(9)=0 THEN 3060:T=9:RETURN 
  141. 3060 IF SF=0 THEN 3250
  142. 3070 IF L#3 AND SC(PP+11)=-1 THEN 3110
  143. 3080 IF S(10)=0 THEN 3250
  144. 3090 IF SC(PP+11)<0 THEN 3100:T=10:RETURN 
  145. 3100 IF L#3 THEN 3110:T=10:RETURN 
  146. 3110 I=0
  147. 3120 I=I+1:IF D1(I)#D1(I+1) THEN 3130:K=D1(I):GOTO 3170
  148. 3130 IF I<4 THEN 3120
  149. 3140 IF D1(1)=1 AND D1(2)#2 THEN 3150:GOTO 3160
  150. 3150 K=1:GOTO 3170
  151. 3160 K=6
  152. 3170 REM  *** APPLE ROLLS AGAIN ***
  153. 3180 I=0
  154. 3190 I=I+1:IF D(I)=K THEN 3220
  155. 3200 IF I<5 THEN 3190
  156. 3210 PRINT "ERROR - NOTHING MATCHES"
  157. 3220 D(I)= RND (6)+1
  158. 3230 TTL=D(1)+D(2)+D(3)+D(4)+D(5)
  159. 3240 GOSUB 6030:GOTO 3020
  160. 3250 IF S(8)=0 THEN 3320
  161. 3260 IF L#3 THEN 3300
  162. 3270 IF TTL>18 THEN 3290
  163. 3280 IF SC(PP+D1(2))#-1 THEN 3290:T=D1(2):RETURN 
  164. 3290 T=8:RETURN 
  165. 3300 IF D1(1)#D1(2) THEN 3310:K=D1(5):GOTO 3170
  166. 3310 K=D1(1):GOTO 3170
  167. 3320 IF S(7)=0 THEN 3410
  168. 3330 J=3:IF L#3 THEN 3360
  169. 3340 IF SC(PP+D1(3))#-1 THEN 3350:T=D1(3):RETURN 
  170. 3350 T=7:RETURN 
  171. 3360 REM  *** APPLE ROLLS AGAIN ***
  172. 3370 FOR I=1 TO 5
  173. 3380 IF D(I)=D1(J) THEN 3400
  174. 3390 D(I)= RND (6)+1
  175. 3400 NEXT I:GOTO 3230
  176. 3410 I=7:IF L#3 THEN 3450
  177. 3420 I=I-1:IF S(I)/I<3 THEN 3430:T=I:RETURN 
  178. 3430 IF I>1 THEN 3420
  179. 3440 GOTO 3560
  180. 3450 J=5:K=0
  181. 3460 J=J-1:IF D1(J)#D1(J+1) THEN 3490
  182. 3470 T=D1(J)
  183. 3480 K=1:IF SC(PP+D1(J))=-1 THEN 3360
  184. 3490 IF J>1 THEN 3460
  185. 3500 IF SF=1 AND SC(PP+11)=-1 THEN 3110
  186. 3510 J=0
  187. 3520 J=J+1:IF SC(PP+D1(J))=-1 THEN 3360
  188. 3530 IF J<5 THEN 3520
  189. 3540 REM  *** APPLE ROLLS AGAIN ***
  190. 3550 GOSUB 6010:GOTO 3020
  191. 3560 IF SC(PP+13)#-1 THEN 3570:T=13:RETURN 
  192. 3570 IF SC(PP+12)#-1 THEN 3580:T=12:RETURN 
  193. 3580 IF SC(PP+11)#-1 THEN 3590:T=11:RETURN 
  194. 3590 IF SC(PP+9)#-1 THEN 3600:T=9:RETURN 
  195. 3600 IF SC(PP+10)#-1 THEN 3610:T=10:RETURN 
  196. 3610 IF SC(PP+8)#-1 THEN 3620:T=8:RETURN 
  197. 3620 T=0
  198. 3630 T=T+1
  199. 3640 IF SC(PP+T)=-1 THEN RETURN 
  200. 3650 IF T<=6 THEN 3630
  201. 3660 PRINT "ERROR - NO FREE ROWS":RETURN 
  202. 4000 REM 
  203. 4010 REM  *** PRINT SCORING CHOICES ***
  204. 4020 J=2: POKE 50,127:FOR I=1 TO 13
  205. 4030 IF SC(PP+I)#-1 THEN 4080
  206. 4040 IF J1>2 THEN 4060
  207. 4050 IF S(I)=0 THEN 4080
  208. 4060 VTAB J:IF I>6 THEN VTAB J+2
  209. 4070 TAB HL:PRINT S(I);
  210. 4080 J=J+1:NEXT I: POKE 50,255:RETURN 
  211. 5000 REM 
  212. 5010 REM   *** TALLY SCORING CHOICES ***
  213. 5020 FOR N=1 TO 5:D1(N)=D(N):NEXT N:SF=0
  214. 5030 J=0:FOR N=1 TO 4
  215. 5040 IF D1(N)<=D1(N+1) THEN 5060
  216. 5050 J=1:T=D1(N):D1(N)=D1(N+1):D1(N+1)=T
  217. 5060 NEXT N:IF J#0 THEN 5030
  218. 5070 FOR J=1 TO 13:S(J)=0:NEXT J
  219. 5080 I=2
  220. 5090 IF D(1)#D(I) THEN 5190
  221. 5100 I=I+1:IF I<6 THEN 5090
  222. 5110 IF SC(PP+12)=-1 THEN S(12)=50
  223. 5120 IF SC(PP+8)=-1 THEN S(8)=TTL
  224. 5130 IF SC(PP+7)=-1 THEN S(7)=TTL
  225. 5140 IF SC(PP+13)=-1 THEN S(13)=TTL
  226. 5150 FOR I=1 TO 5
  227. 5160 IF SC(PP+D1(I))#-1 THEN 5180
  228. 5170 S(D1(I))=S(D1(I))+D1(I)
  229. 5180 NEXT I:RETURN 
  230. 5190 I=2
  231. 5200 IF D1(1)#D1(I) THEN 5230
  232. 5210 I=I+1:IF I<5 THEN 5200
  233. 5220 GOTO 5260
  234. 5230 I=3
  235. 5240 IF D1(2)#D1(I) THEN 5270
  236. 5250 I=I+1:IF I<6 THEN 5240
  237. 5260 K=4:GOTO 5120
  238. 5270 IF D1(1)=D1(2) AND D1(1)=D1(3) THEN 5330
  239. 5280 IF D1(2)=D1(3) AND D1(2)=D1(4) THEN 5330
  240. 5290 IF NOT (D1(3)=D1(4) AND D1(3)=D1(5)) THEN 5350
  241. 5300 IF D1(1)#D1(2) THEN 5340
  242. 5310 IF SC(PP+9)#-1 THEN 5320:S(9)=25:GOTO 5340
  243. 5320 GOTO 5340
  244. 5330 IF D1(4)=D1(5) THEN 5310
  245. 5340 K=3:GOTO 5130
  246. 5350 FOR I=1 TO 4:IF D1(5)#D1(I)+5-I THEN 5360:NEXT I:GOTO 5370
  247. 5360 GOTO 5380
  248. 5370 IF SC(PP+11)#-1 THEN 5380:S(11)=40:GOTO 5460
  249. 5380 FOR I=1 TO 5:D2(I)=0:NEXT I:D2(1)=D1(1):J=1
  250. 5390 FOR I=2 TO 5
  251. 5400 IF D1(I)=D2(J) THEN 5420
  252. 5410 J=J+1:D2(J)=D1(I)
  253. 5420 NEXT I:IF J<4 THEN 5140
  254. 5430 FOR I=1 TO 3:IF D2(4)#D2(I)+4-I THEN 5440:NEXT I:GOTO 5460
  255. 5440 FOR I=2 TO 4:IF D2(5)#D2(I)+5-I THEN 5450:NEXT I:GOTO 5460
  256. 5450 GOTO 5140
  257. 5460 SF=1:IF SC(PP+10)#-1 THEN 5470:S(10)=30:GOTO 5140
  258. 5470 GOTO 5140
  259. 6000 REM 
  260. 6010 REM  *** ROLL DICE AND DISPLAY ***
  261. 6020 TTL=0:FOR N=1 TO 5:D(N)= RND (6)+1:TTL=TTL+D(N):NEXT N
  262. 6030 FOR Z=1 TO 21:TAB 35:VTAB Z:PRINT "     ":NEXT Z
  263. 6040 FOR N=1 TO 5
  264. 6050 Y=(N-1)*4:GOSUB 6130:Y=Y+1:GOTO 6050+D(N)*10
  265. 6060 GOSUB 6140:XX=37:GOSUB 6150:GOSUB 6140:GOTO 6120
  266. 6070 XX=38:GOSUB 6150:GOSUB 6140:XX=36:GOSUB 6150:GOTO 6120
  267. 6080 XX=38:GOSUB 6150:XX=37:GOSUB 6150:XX=36:GOSUB 6150:GOTO 6120
  268. 6090 XX=99:GOSUB 6150:GOSUB 6140:XX=99:GOSUB 6150:GOTO 6120
  269. 6100 XX=99:GOSUB 6150:XX=37:GOSUB 6150:XX=99:GOSUB 6150:GOTO 6120
  270. 6110 XX=99:GOSUB 6150:GOSUB 6150:GOSUB 6150
  271. 6120 FOR Z=1 TO 20:XX= PEEK (-16336):NEXT Z:GOSUB 6130:NEXT N:RETURN 
  272. 6130 VTAB Y+1:TAB 35: POKE 50,63:PRINT "-----": POKE 50,255:RETURN 
  273. 6140 XX=0
  274. 6150 Y=Y+1:VTAB Y:TAB 35: POKE 50,63:PRINT "     ";: POKE 50,255
  275. 6160 IF XX=0 THEN 6190
  276. 6170 IF XX=99 THEN 6180:TAB XX:PRINT "*":GOTO 6190
  277. 6180 TAB 36:PRINT "*";:TAB 38:PRINT "*"
  278. 6190 RETURN 
  279. 7000 REM 
  280. 7010 REM  *** PRINT ROUTINES ***
  281. 7020  POKE 50,63
  282. 7030 TAB (40- LEN(A$)+1)/2
  283. 7040 PRINT A$: POKE 50,255:RETURN 
  284. 7050 TAB (40- LEN(A$)+1)/2
  285. 7060 FOR L=1 TO  LEN(A$)
  286. 7070 IF A$(L,L)#" " THEN  POKE 50,127
  287. 7080 PRINT A$(L,L);: POKE 50,255
  288. 7090 NEXT L:RETURN 
  289. 7100 REM  *** MESSAGES ***
  290. 7110 VTAB 22:A$="HIT SPACE TO CONTINUE":GOSUB 7020:GOTO 7130
  291. 7120 GOSUB 9020:TAB 1:VTAB 23:A$=">>> PRESS SPACE BAR TO ROLL DICE <<<":GOSUB 7050
  292. 7130 Z= RND (10):IF  PEEK (-16384)#160 THEN 7130
  293. 7140  POKE -16368,0:VTAB 23:TAB 1:CALL -868:RETURN 
  294. 8000 REM 
  295. 8010 REM  *** SCORECARD ***"
  296. 8020 CALL -936
  297. 8030 PRINT "  PLAYERS >>"
  298. 8040 PRINT " 1 ACES"
  299. 8050 PRINT " 2 TWOS"
  300. 8060 PRINT " 3 THREES"
  301. 8070 PRINT " 4 FOURS"
  302. 8080 PRINT " 5 FIVES"
  303. 8090 PRINT " 6 SIXES"
  304. 8100 PRINT "   BONUS"
  305. 8110 PRINT "UPPER TOTAL"
  306. 8120 PRINT " 7 3/KIND"
  307. 8130 PRINT " 8 4/KIND"
  308. 8140 PRINT " 9 FL.HOUSE"
  309. 8150 PRINT "10 SM.STRT"
  310. 8160 PRINT "11 LG.STRT"
  311. 8170 PRINT "12 YAHTZEE"
  312. 8180 PRINT "13 CHANCE"
  313. 8190 PRINT "LOWER TOTAL"
  314. 8200 PRINT "GRAND TOTAL";
  315. 8210 FOR X=1 TO N2:VTAB 1:XX=20/N2*X+9:IF N2=2 THEN XX=XX-3:IF N2=1 THEN XX=21:TAB XX:PRINT X;:NEXT X
  316. 8220 FOR X=1 TO 5:VTAB X*4-1:TAB 33:PRINT X;:NEXT X
  317. 8230 RETURN 
  318. 9000 REM 
  319. 9010 REM  *** RULES ***
  320. 9020 VTAB 22:TAB 1:CALL -868:VTAB 23:TAB 1:CALL -868:RETURN 
  321. 9030 FOR XX=1 TO 1000:NEXT XX:RETURN 
  322. 9040 CALL -936:PRINT "YAHTZEE IS A POPULAR GAME IN WHICH EACH"
  323. 9050 PRINT "PLAYER SCORES THE VALUE OF HIS DICE IN"
  324. 9060 PRINT "ONE OF SEVERAL SCORING CATEGORIES."
  325. 9070 PRINT "EACH PLAYER BEGINS HIS TURN BY ROLLING"
  326. 9080 PRINT "ALL FIVE DICE. IF HE LIKES, HE CAN"
  327. 9090 PRINT "RE-ROLL ANY OR ALL THE DICE TWICE MORE"
  328. 9100 PRINT "BEFORE SELECTING HIS SCORING CATEGORY."
  329. 9110 PRINT "PLAYERS SCORE IN THE FOLLOWING MANNER."
  330. 9120 PRINT "EACH OF THE THIRTEEN CATEGORIES HAS A"
  331. 9130 PRINT "RULE FOR SCORING. THEY ARE:"
  332. 9140 PRINT :PRINT "  UPPER SECTION"
  333. 9150 PRINT "1.ACES  - SUM OF ALL 'ONES'."
  334. 9160 PRINT "2.TWOS  - SUM OF ALL 'TWOS'."
  335. 9170 PRINT "3.THREES- SUM OF ALL 'THREES'."
  336. 9180 PRINT "4.FOURS - SUM OF ALL 'FOURS'."
  337. 9190 PRINT "5.FIVES - SUM OF ALL 'FIVES'."
  338. 9200 PRINT "6.SIXES - SUM OF ALL 'SIXES'."
  339. 9210 PRINT :PRINT "IF THE TOTAL FOR THE UPPER SECTION IS"
  340. 9220 PRINT "63 OR MORE, A 35 POINT BONUS IS ADDED.":GOSUB 7110:CALL -936
  341. 9230 PRINT "  LOWER SECTION":PRINT 
  342. 9240 PRINT "7.3 OF A KIND- IF YOU HAVE 3 OF A KIND,"
  343. 9250 PRINT "               YOU SUM ALL DICE."
  344. 9260 PRINT "8.4 OF A KIND- IF YOU HAVE 4 OF A KIND,"
  345. 9270 PRINT "               YOU SUM ALL DICE."
  346. 9280 PRINT "9.FULL HOUSE - IF YOU HAVE 3 OF ONE"
  347. 9290 PRINT "               DICE AND 2 OF ANOTHER,"
  348. 9300 PRINT "               SCORE 25 POINTS."
  349. 9310 PRINT "10.SM.STRAIGHT-IF YOU HAVE A SEQUENCE"
  350. 9320 PRINT "               OF 4 DICE, SCORE 30 PTS."
  351. 9330 PRINT "11.LG.STRAIGHT-IF YOU HAVE A SEQUENCE"
  352. 9340 PRINT "               OF 5 DICE, SCORE 40 PTS."
  353. 9350 PRINT "12.YAHTZEE    -IF YOU HAVE 5 OF A KIND,"
  354. 9360 PRINT "               SCORE 50 POINTS."
  355. 9370 PRINT "13.CHANCE     -SUM OF ALL DICE.":GOSUB 7110:CALL -936
  356. 9380 PRINT "AFTER EACH TURN, A PLAYER MUST CHOOSE"
  357. 9390 PRINT "ONE OF THESE CATEGORIES, EVEN IF IT"
  358. 9400 PRINT "SCORES A ZERO."
  359. 9410 PRINT "THE COMPUTER WILL ADVISE YOU OF THE"
  360. 9420 PRINT "POSSIBLE SCORING CHOICES IF YOU DESIRE."
  361. 9430 PRINT :PRINT "EACH GAME CONTINUES UNTIL ALL CATEGORIES"
  362. 9440 PRINT "ARE FILLED. THE SCORING ENDS AFTER SIX"
  363. 9450 PRINT "GAMES OR WHEN YOU REQUEST.":PRINT 
  364. 9460 PRINT "IF YOU WISH FOR THE COMPUTER TO PLAY,"
  365. 9470 PRINT "ENTER A NAME BEGINNING WITH 'APPLE'"
  366. 9480 PRINT "FOR ONE OR MORE PLAYER'S NAMES."
  367. 9490 RETURN 
  368.